#include "Parse.h"
#include "stdafx.h"

struct RequestInfo
{
    int cmd;
    int e1X;	
    int e1Y;
    int e2X;
    int e2Y;
    int reserve1;
    int reserve2;
};
int LByteToInt(char* b)
{
    int s = 0;
    for (int i = 0; i < 3; i++) {
        if (b[3-i] >= 0) {
            s = s + b[3-i];
        } else {
            s = s + 256 + b[3-i];
        }
        s = s * 256;
    }
    if (b[0] >= 0) {
        s = s + b[0];
    } else {
        s = s + 256 + b[0];
    }
    return s;
}

void ParseRequestInfo(RequestInfo &requestInfo,char* buf)
{
    requestInfo.cmd=LByteToInt(buf);
    requestInfo.e1X=LByteToInt(buf+4);
    requestInfo.e1Y=LByteToInt(buf+8);
    requestInfo.e2X=LByteToInt(buf+12);
    requestInfo.e2Y=LByteToInt(buf+16);
    requestInfo.reserve1=LByteToInt(buf+20);
    requestInfo.reserve2=LByteToInt(buf+24);
}

